home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / prog_d / oleauttr.zip / WORDDRIV.ZIP / WORDDRIV.PAS < prev    next >
Pascal/Delphi Source File  |  1996-01-02  |  5KB  |  184 lines

  1. {
  2. // WORDDRIV.PAS (C) 1995 W. Raike
  3. //              ALL RIGHTS RESERVED.
  4. //   NOTICE:    This file consists of trade secrets that are the property
  5. //              of William Raike.  The contents may not be used or disclosed
  6. //              without express written permission of the owner.
  7. }
  8. {*******************************************************************}
  9. {
  10.     User interface for driver for the OLE Automation server functions
  11.   in Microsoft Word for Windows 6.0.
  12. }
  13. {*******************************************************************}
  14. unit Worddriv;
  15.  
  16. interface
  17.  
  18. uses
  19.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  20.   Forms, Dialogs, StdCtrls,
  21.   WordCls,
  22.   OleAuto;
  23.  
  24. type
  25.   TfrmWordDriv = class(TForm)
  26.     btnCreate: TButton;
  27.     btnDestroy: TButton;
  28.     btnExit: TButton;
  29.     btnFileNew: TButton;
  30.     btnDiscard: TButton;
  31.     btnMacro: TButton;
  32.     btnEditOptions: TButton;
  33.     Label1: TLabel;
  34.     Label2: TLabel;
  35.     Label3: TLabel;
  36.     txtMacroName: TEdit;
  37.     Label4: TLabel;
  38.     Label5: TLabel;
  39.     Label6: TLabel;
  40.     OleAutoClient1: TOleAutoClient;
  41.     btnGetSelection: TButton;
  42.     lblSelection: TLabel;
  43.     gbxFFTest: TGroupBox;
  44.     btnFileFind: TButton;
  45.     edtFileFindDir: TEdit;
  46.     edtFileFindName: TEdit;
  47.     btnCountFoundFiles: TButton;
  48.     lblCountFoundFiles: TLabel;
  49.     btnFFNames: TButton;
  50.     cbFFNames: TComboBox;
  51.     Label7: TLabel;
  52.     Label8: TLabel;
  53.     Label9: TLabel;
  54.     procedure btnCreateClick(Sender: TObject);
  55.     procedure btnDestroyClick(Sender: TObject);
  56.     procedure btnExitClick(Sender: TObject);
  57.     procedure btnFileNewClick(Sender: TObject);
  58.     procedure btnDiscardClick(Sender: TObject);
  59.     procedure btnMacroClick(Sender: TObject);
  60.     procedure FormClose(Sender: TObject; var Action: TCloseAction);
  61.     procedure btnEditOptionsClick(Sender: TObject);
  62.     procedure btnFileFindClick(Sender: TObject);
  63.     procedure btnCountFoundFilesClick(Sender: TObject);
  64.     procedure btnFFNamesClick(Sender: TObject);
  65.     procedure btnGetSelectionClick(Sender: TObject);
  66.   private
  67.     { Private declarations }
  68.   public
  69.     procedure DestroyObject;
  70.   end;
  71.  
  72. var
  73.   frmWordDriv: TfrmWordDriv;
  74.   ooWord : TWordObj;
  75.   bObExists : Boolean;
  76.  
  77. implementation
  78.  
  79. {$R *.DFM}
  80.  
  81. procedure TfrmWordDriv.DestroyObject;
  82. begin
  83.   ooWord.Release;
  84.   bObExists := False;
  85. end;
  86.  
  87. procedure TfrmWordDriv.btnCreateClick(Sender: TObject);
  88. begin
  89.   ooWord := TWordObj.CreateObject('word.basic');
  90.   bObExists := True;
  91.   ooWord.AppShow;  { Required to make Word 7 visible. }
  92.   { Move this form to the top of the z-order. }
  93.   SetWindowPos(Handle, HWND_TOP, 0,0,0,0, SWP_NOMOVE Or SWP_NOSIZE);
  94.   cbFFNames.ItemIndex := 0; { Show prompt in list box. }
  95. end;
  96.  
  97. procedure TfrmWordDriv.btnDestroyClick(Sender: TObject);
  98. begin
  99.   if Not bObExists then Exit;
  100.   DestroyObject;
  101. end;
  102.  
  103. procedure TfrmWordDriv.btnExitClick(Sender: TObject);
  104. begin
  105.   Close;
  106. end;
  107.  
  108. procedure TfrmWordDriv.btnFileNewClick(Sender: TObject);
  109. begin
  110.   if Not bObExists then Exit;
  111.   ooWord.FileNew('normal.dot');
  112. end;
  113.  
  114. procedure TfrmWordDriv.btnDiscardClick(Sender: TObject);
  115. begin
  116.   if Not bObExists then Exit;
  117.   ooWord.FileClose(2);
  118. end;
  119.  
  120. procedure TfrmWordDriv.btnMacroClick(Sender: TObject);
  121. var
  122.   s : String;
  123. begin
  124.   if Not bObExists then Exit;
  125.   s := txtMacroName.text;
  126.   ooWord.ToolsMacro(s);
  127. end;
  128.  
  129. procedure TfrmWordDriv.FormClose(Sender: TObject;
  130.   var Action: TCloseAction);
  131. begin
  132.   if bObExists then
  133.       DestroyObject;
  134. end;
  135.  
  136. procedure TfrmWordDriv.btnEditOptionsClick(Sender: TObject);
  137. begin
  138.   if Not bObExists then Exit;
  139.   ooWord.ToolsOptionsEdit;
  140. end;
  141.  
  142. procedure TfrmWordDriv.btnFileFindClick(Sender: TObject);
  143. var
  144.   StartDir, FileMask : String;
  145. begin
  146.   if not bObExists then Exit;
  147.   StartDir := edtFileFindDir.Text;
  148.   FileMask := edtFileFindName.Text;
  149.   ooWord.FileFind(FileMask, StartDir);
  150. end;
  151.  
  152. procedure TfrmWordDriv.btnCountFoundFilesClick(Sender: TObject);
  153. begin
  154.   if not bObExists then Exit;
  155.   lblCountFoundFiles.Caption := IntToStr(ooWord.CountFoundFiles);
  156. end;
  157.  
  158. procedure TfrmWordDriv.btnFFNamesClick(Sender: TObject);
  159. var
  160.   i : Integer;
  161. begin
  162.   if not bObExists then Exit;
  163.   i := 1;
  164.   while i <= ooWord.CountFoundFiles do
  165.   begin
  166.     cbFFNames.Items.Add(ooWord.FoundFileName(i));
  167.     Inc(i);
  168.   end;
  169. end;
  170.  
  171. procedure TfrmWordDriv.btnGetSelectionClick(Sender: TObject);
  172. var
  173.   pszStr : PChar;
  174. begin
  175.   if not bObExists then Exit;
  176.   lblSelection.Caption := '';
  177.   pszStr := ooWord.Selection;
  178.   if pszStr <> nil then
  179.     if StrLen(pszStr) <=255 then
  180.       lblSelection.Caption := StrPas(ooWord.Selection);
  181. end;
  182.  
  183. end.
  184.